Designing a RCBD
A bakery wants to compare three different cookie recipes for a new product line. The recipes differ in type of fat used: Classic Butter, Brown Butter, and Coconut Oil. Cookie quality is evaluated based on texture scores from a tasting panel.
But…the bakery uses multiple ovens
The ovens are known to differ slightly in temperature calibration and air circulation. These differences can affect how cookies bake. For example, some ovens may run hotter, producing crispier cookies, while others bake more slowly and yield softer cookies. Although one oven may be relatively consistent, overall consistency between ovens is unlikely.
Completely Randomized Design (CRD)
Suppose Oven A runs slightly hotter than the others. How will this affect the results if that oven happens to get more Brown Butter trays?
Suppose Oven B runs cooler and happens to bake most of the Coconut Oil trays. How will this affect the results?
Key Idea: We can’t separate recipe effects from oven effects.
CRD assumes:
But here:
Randomized Complete Block Design (RCBD)
Why ovens? big source of variation, not scientifically interesting, known before the experiment
Key Idea: Block on what you can’t control but can identify.
Elements of a RCBD
Block: This is a homogeneous group of experimental units. A RCBD consists of first sorting the experimental units into blocks.
Complete: Each block consists of one complete replication of the set of treatments. Therefore, each treatment will show up once within each block.
Randomized: The treatments are randomly assigned to experimental units separately within each block.
Advantages
Disadvantages
Treatment structure
One-way treatment structure with cookie recipes (3 levels – classic butter, brown butter, and coconut oil).
Experimental structure
Cookie recipe treatments are randomly assigned to trays (e.u.) in a RCBD (randomized complete block design) with r = 4 replications (blocks) where the blocking factor is oven. The texture score is recorded for each tray (m.u.).
library(tidyverse)
library(edibble)
des <- design("Cookies in Ovens") |>
set_units(oven = c("Oven A", "Oven B", "Oven C", "Oven D"),
tray = nested_in(oven, 3)) |>
set_trts(recipe = c("Classic Butter", "Brown Butter", "Coconut Oil")) |>
allot_trts(recipe ~ tray) |>
assign_trts("random")
cookie_data <- serve_table(des)
cookie_data$texture <- NA
cookie_data# Cookies in Ovens
# An edibble: 12 x 4
oven tray recipe texture
<U(4)> <U(12)> <T(3)>
<chr> <chr> <chr> <lgl>
1 Oven A tray01 Brown Butter NA
2 Oven A tray02 Classic Butter NA
3 Oven A tray03 Coconut Oil NA
4 Oven B tray04 Brown Butter NA
5 Oven B tray05 Coconut Oil NA
6 Oven B tray06 Classic Butter NA
7 Oven C tray07 Brown Butter NA
8 Oven C tray08 Coconut Oil NA
9 Oven C tray09 Classic Butter NA
10 Oven D tray10 Classic Butter NA
11 Oven D tray11 Brown Butter NA
12 Oven D tray12 Coconut Oil NA
Does each oven have 3 trays?
# Cookies in Ovens
# An edibble: 4 x 2
oven n
<chr> <int>
1 Oven A 3
2 Oven B 3
3 Oven C 3
4 Oven D 3
Does each recipe appear r = 4 times?
Does each recipe appear once in each oven?
# Cookies in Ovens
# An edibble: 12 x 3
oven recipe n
<chr> <chr> <int>
1 Oven A Brown Butter 1
2 Oven A Classic Butter 1
3 Oven A Coconut Oil 1
4 Oven B Brown Butter 1
5 Oven B Classic Butter 1
6 Oven B Coconut Oil 1
7 Oven C Brown Butter 1
8 Oven C Classic Butter 1
9 Oven C Coconut Oil 1
10 Oven D Brown Butter 1
11 Oven D Classic Butter 1
12 Oven D Coconut Oil 1
DOE > Custom Design
Then use Tables > Summary to check RCBD.